package cn.wolfcode.service;

import cn.wolfcode.domain.Permission;
import cn.wolfcode.domain.Role;
import cn.wolfcode.domain.Student;
import cn.wolfcode.qo.QueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 角色Service接口
 */
public interface IRoleService {
    /**
     * 角色新增
     *
     * @param role
     */
    void save(Role role,Long[] permissionIds);

    /**
     * 角色删除
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 根据ID查角色
     *
     * @param id 传入角色的ID
     * @return 根据ID 查询角色对象
     */
    Role get(Long id);

    /**
     * 查询所有
     *
     * @return
     */
    List<Role> listAll();

    /**
     * 分页查询
     * @param qo
     * @return
     */
    PageInfo<Role> query(QueryObject qo);

    /**
     * 查询角色权限
     * @param roleId
     * @return
     */
    List<Permission> selRolePermission(Long roleId);

    List<Role> selEmployeeRoleById(Long id);

    List<Role> selRolesByStudentId(Long id);
}